`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    20:49:46 11/15/2024 
// Design Name: 
// Module Name:    Over_Adder 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module Over_Adder(
	input [3:0]A,
	input [3:0]B,
	input C0,
	
	output [4:1]C
    );

	wire [3:0]P;
	wire [3:0]G;
	
	assign G=A&B;
	assign P=A|B;
	
	assign C[1]=G[0]|P[0]&C0;
	assign C[2]=G[1]|P[1]&C[1];
	assign C[3]=G[2]|P[2]&C[2];
	assign C[4]=G[3]|P[3]&C[3];

endmodule
